﻿namespace Homework4_3
{
    /// <summary>
    /// 列出我的硬盘下有多少txt文件，若不能访问，则使用try catch 
    /// </summary>
    internal class Program
    {
        static void Main(string[] args)
        {
            // 指定要搜索的目录，例如 "D:\\"
            string directoryPath = @"D:\\";

            try
            {
                // 获取目录下的所有 .txt 文件
                string[] txtFiles = Directory.GetFiles(directoryPath, "*.txt", SearchOption.AllDirectories);

                // 检查是否存在 .txt 文件
                if (txtFiles.Length > 0)
                {
                    Console.WriteLine($"在 {directoryPath} 下找到 {txtFiles.Length} 个 .txt 文件：");
                    foreach (string file in txtFiles)
                    {
                        Console.WriteLine(file);
                    }
                }
                else
                {
                    Console.WriteLine($"在 {directoryPath} 下没有找到 .txt 文件。");
                }
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine($"无法访问 {directoryPath}，权限不足。");

                // 使用 TryParse 方法尝试解析一个默认值
                string defaultValue = "default.txt";
                if (TryParse(defaultValue, out string parsedValue))
                {
                    Console.WriteLine($"使用默认值: {parsedValue}");
                }
                else
                {
                    Console.WriteLine("无法解析默认值。");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"发生错误: {ex.Message}");
            }
        }

        static bool TryParse(string value, out string result)
        {
            // 这里假设我们只是简单地验证输入是否为空
            if (string.IsNullOrWhiteSpace(value))
            {
                result = null;
                return false;
            }

            result = value;
            return true;
        }
    }
}